package com.cxh.rmsq.net.newNet

import androidx.lifecycle.LiveData
import com.cxh.rmsq.db.model.AuthenticationBean
import com.cxh.rmsq.db.model.BaseResultInviteListBean
import com.cxh.rmsq.db.model.BaseResultJoinRecordListBean
import com.cxh.rmsq.db.model.BaseResultListBean
import com.cxh.rmsq.db.model.BaseResultOrderListBean
import com.cxh.rmsq.db.model.BaseResultPayListBean
import com.cxh.rmsq.db.model.BaseResultRankListBean
import com.cxh.rmsq.db.model.ClueBean
import com.cxh.rmsq.db.model.CommunityContent
import com.cxh.rmsq.db.model.FriendShipInfo
import com.cxh.rmsq.db.model.GroupEntity
import com.cxh.rmsq.db.model.HuntBean
import com.cxh.rmsq.db.model.InviteExchangeBean
import com.cxh.rmsq.db.model.MapMarkersBean
import com.cxh.rmsq.db.model.MapProgressBean
import com.cxh.rmsq.db.model.OrderListBean
import com.cxh.rmsq.db.model.PayOrderBean
import com.cxh.rmsq.db.model.ProductInfoBean
import com.cxh.rmsq.db.model.ProgressBean
import com.cxh.rmsq.db.model.UnReadBean
import com.cxh.rmsq.db.model.UpdateBean
import com.cxh.rmsq.model.LoginResult
import com.cxh.rmsq.model.Result
import com.cxh.rmsq.net.SealTalkUrl
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.http.*


/**
 * Created by 崔琦 on 2020-04-27.
 */

interface ApiService {

    /**
     * 分页查询资讯管理列表
     */
    @GET("/zshb/information/list")
    suspend fun infoList(
        @Query("levelOne") levelOne: String,
        @Query("levelTwo") levelTwo: String,
        @Query("recommend") recommend: String,
        @Query("pageNum") pageNum: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<PageListEntity<InfoListEntity>>

    /**
     * 找企业 app首页用，分页查找所有企业
     */
    @GET("/zshb/projectBaseInfo/company/page/all")
    suspend fun bussinessList(
        @Query("pageNum") pageNum: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 找投资 app首页用，分页查找所有投资方企业
     */
    @GET("/zshb/projectBaseInfo/company/page/invest")
    suspend fun touziList(
        @Query("pageNum") pageNum: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 切换/刷新 登录
     * companyId
     */
    @POST("/auth/refreshLogin")
    suspend fun refreshLogin(@Query("companyId") companyId: String): BaseResultEntity<LoginEntity>

    /**
     * 一键登录
     * companyId
     */
    @POST("/auth/appOneClick")
    suspend fun appOneClick(@Query("accessToken") accessToken: String): BaseResultEntity<LoginEntity>

    /**
     * 根据版本号查询信息
     * companyId
     */
    @GET("/system/appVer/{deviceType}/{versionCode}")
    suspend fun getAppVerInfo(
        @Path("deviceType") deviceType: String,
        @Path("versionCode") versionCode: String
    ): BaseResultEntity<VersionEntity>


    /**
     * 根据版本号查询信息
     * companyId
     */
    @GET("/auth/queryWeChatBind")
    suspend fun queryWeChatBind(): BaseResultEntity<Any>

    /**
     * 解绑微信
     * companyId
     */
    @POST("/auth/unbindWeChat")
    suspend fun unbindWeChat(@Query("smsCode") smsCode: String): BaseResultEntity<Any>

    /**
     * 新增建议反馈
     * companyId
     */
    @POST("/zshb/feedback")
    suspend fun feedback(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 新增举报信息
     */
    @POST("/zshb/complaint")
    suspend fun complaint(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 字典类型
     */
    @GET("/system/dict/data/type/{dictType}")
    suspend fun dictType(@Path("dictType") parentId: String): BaseResultEntity<MutableList<TypeEntity>>

    /**
     * 优势建筑类型
     */
    @GET("/zshb/superBuildType/typeList/{parentId}")
    suspend fun typeList(@Path("parentId") parentId: String): BaseResultEntity<MutableList<TypeEntity>>


    /**
     * 修改个人信息

     *
     */
    @POST("/system/my/edit")
    suspend fun editMyInfo(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 获取个人信息
     */
    @GET("/system/my/getInfo")
    suspend fun getPersonInfo(): BaseResultEntity<UserInfo>

    /**
     * 获取当前企业信息
     */
    @GET("/system/user/getCurrentCompanyInfo")
    suspend fun getCurrentCompanyInfo(): BaseResultEntity<BusinessBean>

    /**
     * 获取当前企业信息
     */
    @GET("/system/company/getCompanyInfoByCompanyNo")
    suspend fun getCurrentCompanyInfoByCompanyNo(@Query("companyNo") companyNo: String): BaseResultEntity<BusinessBean>

    /**
     * 获取用户信息
     */
    @GET("/system/user/getInfo")
    suspend fun getUserInfo(): BaseResultEntity<UserInfo>

    /**
     * 登出方法
     */
    @DELETE("/auth/logout")
    suspend fun logout(): BaseResultEntity<UserInfo>


    /**
     * 获取我创建的企业
     */
    @GET("/system/my/getCompanyICreated")
    suspend fun getCompanyICreated(): BaseResultEntity<MutableList<BusinessBean>>

    /**
     * 获取我加入的企业--总
     */
    @GET("/system/my/getCompanyJoinedIncludedApply")
    suspend fun getCompanyJoinedIncludedApply(): BaseResultEntity<MutableList<BusinessBean>>

    /**
     * 获取我加入的企业
     */
    @GET("/system/my/getCompanyIVeJoined")
    suspend fun getCompanyIVeJoined(): BaseResultEntity<MutableList<BusinessBean>>

    /**
     * 获取申请的企业
     */
    @GET("/system/my/getCompanyApply")
    suspend fun getCompanyApply(): BaseResultEntity<MutableList<BusinessBean>>

    /**
     * 加入企业校验(扫码/输入企业号/跳转h5)
     */
    @GET("/system/companyAndUserRefine/joinCompanyCheck")
    suspend fun joinCompanyCheck(
        @Query("zshbJoinCompany") zshbJoinCompany: Boolean,
        @Query("companyNo") companyNo: String
    ): BaseResultEntity<BusinessBean>

    /**
     * 申请加入企业提交
     */
    @POST("/system/companyAndUserRefine/applyToJoinCompanySubmission")
    suspend fun applyToJoinCompanySubmission(@Body requestBody: RequestBody): BaseResultEntity<BusinessBean>

    /**
     * 获取我申请的企业详情(包含申请信息动态)
     */
    @GET("/system/my/getUserApplyCompanyById")
    suspend fun getUserApplyCompanyById(@Query("applyId") applyId: String): BaseResultEntity<ApplyInfoBean>

    /**
     * 获取我创建的企业详情(包含创建信息动态)
     */
    @GET("/system/my/getCreateCompanyById")
    suspend fun getCreateCompanyById(@Query("companyId") companyId: String): BaseResultEntity<ApplyInfoBean>

    /**
     * 我的-获取企业信息
     */
    @GET("/system/my/getCompanyInfo")
    suspend fun getCompanyInfo(@Query("companyId") companyId: String): BaseResultEntity<BusinessBean>

    /**
     * 我的-修改企业信息
     */
    @POST("/system/my/editCompanyInfo")
    suspend fun editCompanyInfo(@Body requestBody: RequestBody): BaseResultEntity<BusinessBean>

    /**
     * 企业下员工列表分页
     */
    @GET("/system/employeeManagement/listOfEmployees")
    suspend fun listOfEmployees(
        @Query("companyId") companyId: String,
        @Query("pageNum") pageNum: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<ListEntity>

    /**
     * 获取员工信息
     */
    @GET("/system/employeeManagement/getEmployees")
    suspend fun getEmployees(
        @Query("companyId") companyId: String,
        @Query("userId") userId: Long
    ): BaseResultEntity<EmployeeList>

    /**
     * 删除员工信息
     */
    @POST("/system/employeeManagement/delete")
    suspend fun deleteEmployees(@Body requestBody: RequestBody): BaseResultEntity<EmployeeList>

    /**
     * 企业下审批列表
     */
    @GET("/system/employeeManagement/employeeApprovalList")
    suspend fun employeeApprovalList(
        @Query("companyId") companyId: String,
        @Query("type") type: Boolean,
        @Query("pageSize") pageSize: Int,
        @Query("pageNum") pageNum: Int
    ): BaseResultEntity<ListEntity>

    /**
     * 保存(新增/修改)员工
     * /system/employeeManagement/save
     */
    @POST("/system/employeeManagement/save")
    suspend fun saveEmployee(@Body requestBody: RequestBody): BaseResultEntity<EmployeeList>

    /**
     * 授权员工加入企业
     *
     */
    @POST("/system/employeeManagement/empowerEmployeesJoinCompany")
    suspend fun empowerEmployeesJoinCompany(@Body requestBody: RequestBody): BaseResultEntity<EmployeeList>

    /**
     * 获取我的切换企业列表
     * */
    @GET("/system/my/getMyCompanyList")
    suspend fun getMyCompanyList(): BaseResultEntity<MutableList<BusinessBean>>

    /**
     * 企业下未审批数量
     * */
    @GET("/system/employeeManagement/employeeUnapprovedQuantity")
    suspend fun employeeUnapprovedQuantity(@Query("companyId") companyId: String): BaseResultEntity<Int>

    /**
     * 企业类型分类列表查询
     * */
    @GET("/zshb/companyType/list")
    suspend fun companyTypeList(@Query("parentId") parentId: Long): BaseResultEntity<MutableList<CompanyTypeListBean>>

    /**
     * 企业类型查询（参与方数据，不需要传参|一二级联动需要传参）
     * */
    @GET("/zshb/companyType/participantsList")
    suspend fun participantsList(): BaseResultEntity<MutableList<CompanyTypeListBean>>


    /*--------------------发布项目相关------------------------------*/


    /**
     * 获取我的项目和参与项目数量
     *
     */
    @GET("/zshb/project/join/mineAndJoined")
    suspend fun getProNum(): BaseResultEntity<ProNum>


    /**
     * 分页查询项目管理列表
     *
     */
    @GET("/zshb/projectBaseInfo/list")
    suspend fun projectList(
        @Query("companyId") companyId: String,
        @Query("status") status: String,
        @Query("pageNum") pageNum: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 查询项目列表数据（集成中和已完成状态）
     *
     */
    @GET("/zshb/projectBaseInfo/list/integrationAndCompleted")
    suspend fun integrationAndCompleted(
        @Query("companyId") companyId: String
    ): BaseResultEntity<MutableList<ProjectList>>

    /**
     * 删除项目
     *
     */
    @DELETE("/zshb/projectBaseInfo/{projectBaseInfoId}")
    suspend fun delProject(
        @Path("projectBaseInfoId") projectBaseInfoId: String
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 操作功能（发布、暂停、开启）
     *
     */
    @PUT("/zshb/projectBaseInfo/operate")
    suspend fun operateProject(
        @Query("projectBaseInfoId") projectBaseInfoId: String,
        @Query("status") status: String,
        @Query("earnestMoney") earnestMoney: String,
        @Query("payMethodCode") payMethodCode: String
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 根据项目id查询全部详情
     *
     */
    @GET("/zshb/projectBaseInfo/detailsAll/{projectBaseInfoId}")
    suspend fun getProAllInfo(
        @Path("projectBaseInfoId") projectBaseInfoId: String
    ): BaseResultEntity<ProjectList>

    /**
     * 根据项目id查询详情
     *
     */
    @GET("/zshb/projectBaseInfo/details/{projectBaseInfoId}")
    suspend fun getProInfo(
        @Path("projectBaseInfoId") projectBaseInfoId: String
    ): BaseResultEntity<ProjectList>

    /**
     * 增加浏览
     *
     */
    @GET("/zshb/projectBaseInfo/views/{projectBaseInfoId}")
    suspend fun addScanNum(
        @Path("projectBaseInfoId") projectBaseInfoId: String
    ): BaseResultEntity<PageListEntity<ProjectList>>


    /**
     * 推荐项目列表
     *
     */
    @GET("/zshb/projectBaseInfo/recommendationList")
    suspend fun recommendationList(
        @Query("searchValue") searchValue: String,
        @Query("provinceCode") provinceCode: String,
        @Query("cityCode") cityCode: String,
        @Query("districtCode") districtCode: String,
        @Query("projectTypeCode") projectTypeCode: String,//项目类型
        @Query("projectNatureCode") projectNatureCode: String,//项目性质
        @Query("projectStageCode") projectStageCode: String,//项目阶段
        @Query("cooperateWayCode") cooperateWayCode: String,//合作方式
        @Query("minExpectVolume") minExpectVolume: String,
        @Query("maxExpectVolume") maxExpectVolume: String,
        @Query("minExpectIncome") minExpectIncome: String,
        @Query("maxExpectIncome") maxExpectIncome: String,
        @Query("orderBy") orderBy: String,
        @Query("pageSize") pageSize: Int,
        @Query("pageNum") pageNum: Int
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 收藏项目列表
     *
     */
    @GET("/zshb/project/join/collected/page")
    suspend fun collectedList(
        @Query("searchValue") searchValue: String,
        @Query("orderByColumn") orderByColumn: String,
        @Query("isAsc") isAsc: String,
        @Query("pageSize") pageSize: Int,
        @Query("pageNum") pageNum: Int
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 收藏/取消收藏项目
     *
     */
    @POST("/zshb/project/join/collect/{projectId}/{isCollect}")
    suspend fun isCollect(
        @Path("projectId") projectId: String,
        @Path("isCollect") isCollect: Int//1:收藏;0:取消收藏
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 获取当前项目是否收藏
     *
     */
    @GET("/zshb/project/join/collect/{projectId}")
    suspend fun currentIsCollect(
        @Path("projectId") projectId: String
    ): BaseResultEntity<Boolean>

    /**
     * 企业报名参与项目/取消报名
     *
     */
    @POST("/zshb/project/join/company/enroll")
    suspend fun enroll(
        @Query("projectId") projectId: String,
        @Query("isEnroll") isEnroll: Int //1:报名;0:取消报名
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 校验是否符合报名条件(企业报名参与项目前)
     *
     */
    @POST("/zshb/project/join/company/enroll/validate/{projectId}")
    suspend fun validate(
        @Path("projectId") projectId: String
    ): BaseResultEntity<Any>

    /**
     * 获取当前项目是否已报名
     *
     */
    @GET("/zshb/project/join/company/enroll/{projectId}")
    suspend fun getProStatus(
        @Path("projectId") projectId: String
    ): BaseResultEntity<Int>

    /**
     * 获取IM聊天卡片信息
     *
     */
    @GET("/zshb/project/join/im/card/{projectId}/{companyId}")
    suspend fun getIMCardInfo(
        @Path("projectId") projectId: String,
        @Path("companyId") companyId: String
    ): BaseResultEntity<ImCardInfo>


    /**
     * 邀请
     */
    @POST("/zshb/project/join/company/invite")
    suspend fun invite(@Body requestBody: RequestBody): BaseResultEntity<Any>


    /**
     * /zshb/project/join/plan/submit
     * 企业上传、修补方案
     *
     */
    @PUT("/zshb/project/join/plan/submit")
    suspend fun planSubmit(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 项目参与方查看自己企业参与的项目列表(0:全部/1:已报名/2:待选定/3:已选定/4:未选中)
     *
     */
    @GET("/zshb/project/join/page/{enrollStatus}")
    suspend fun joinProList(
        @Path("enrollStatus") enrollStatus: Int,
        @Query("companyId") companyId: String,
        @Query("isAsc") isAsc: String,
        @Query("pageSize") pageSize: Int,
        @Query("pageNum") pageNum: Int
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     * 获取项目合作方&投资方企业类型
     *
     */
    @GET("/zshb/project/kanban/partner/companyType/list/{projectId}")
    suspend fun boardCompanyTypeList(
        @Path("projectId") projectId: String
    ): BaseResultEntity<MutableList<CompanyTypeListBean>>

    /**
     * 项目发起方集成看板中的项目参与数据总览(收藏数量、邀请数量、报名数量、选定数量、合作方数量)
     *
     */
    @GET("/zshb/project/kanban/overview/{projectId}/{partnerCode}")
    suspend fun boardNum(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<BoardNumEntity>

    /**
     *项目参与方获取当前项目自己企业的方案
     * projectEnrollId
     *
     */
    @GET("/zshb/project/join/plan/mine/{projectId}")
    suspend fun getProPlan(
        @Path("projectId") projectId: String
    ): BaseResultEntity<ProjectList>

    /**
     *项目发布方查看项目报名方案列表(按合作方区分)
     *
     */
    @GET("/zshb/project/kanban/plan/list/{projectId}/{partnerCode}")
    suspend fun lookPlanList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<MutableList<ProjectList2>>


    /**
     *项目发布方查看收藏此项目的用户列表
     *
     */
    @GET("/zshb/project/kanban/user/collect/page/{projectId}/{partnerCode}")
    suspend fun collectList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     *项目发布方查看被邀请的企业列表
     *
     */
    @GET("/zshb/project/kanban/company/invited/page/{projectId}/{partnerCode}")
    suspend fun invitedList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     *项目发布方查看查看已报名此项目的企业列表
     *
     */
    @GET("/zshb/project/kanban/company/enrolled/page/{projectId}/{partnerCode}")
    suspend fun enrolledList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     *项目发布方查看已选定合作的企业列表(按合作方角色区分
     *
     */
    @GET("/zshb/project/kanban/company/selected/page/{projectId}/{partnerCode}")
    suspend fun selectedList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<PageListEntity<ProjectList>>

    /**
     *项目发布方查看项目动态列表(按合作方区分)
     *
     */
    @GET("/zshb/project/kanban/log/list/{projectId}/{partnerCode}")
    suspend fun logList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<MutableList<ProjectList>>

    /**
     *看板推荐企业列表(按合作方区分)
     *
     */
    @GET("/zshb/project/kanban/company/recommendationList/{projectId}/{partnerCode}")
    suspend fun recommendationList(
        @Path("projectId") projectId: String,
        @Path("partnerCode") partnerCode: String
    ): BaseResultEntity<MutableList<ProjectList>>

    /**
     *项目发布方选定企业&方案
     *
     */
    @POST("/zshb/project/join/plan/select")
    suspend fun selectPlan(
        @Query("enrollId") enrollId: String,
        @Query("redirectUrl") redirectUrl: String,
        @Query("appScheme") appScheme: String
    ): BaseResultEntity<ProjectList>


    /**
     *项目参与方查看已被选定方案的项目的看板 包含项目各合作方已选定企业和自己企业的方案
     *
     */
    @GET("/zshb/project/join/kanban/{projectId}")
    suspend fun boardListDate(
        @Path("projectId") projectId: String
    ): BaseResultEntity<MutableList<BoardDateEntity>>

    /**
     *根据报名ID获取方案*
     */
    @GET("/zshb/project/join/plan/{enrollId}")
    suspend fun getPlanInfo(
        @Path("enrollId") enrollId: String
    ): BaseResultEntity<ProjectList2>


    /**
     *申请集中方案
     */
    @POST("/zshb/projectBaseInfo/integrationPlan/apply/{projectId}")
    suspend fun integrationPlan(
        @Path("projectId") projectId: String
    ): BaseResultEntity<ProjectList2>


    /**
     * 获取个人认证链接
     * */
    @POST("/system/esignAuth/getPsnAuthUrl")
    suspend fun getPsnAuthUrl(@Body requestBody: RequestBody): BaseResultEntity<Any>


    /*-------------------------------------------------------*/


    /**
     * 版本更新
     * */
    @GET("api/login/getApk")
    suspend fun getVersionData(@Query("type") type: Int): BaseResultEntity<VersionEntity>

    /**
     * 绑定微信(提现的时候判断绑定没绑定)
     */
    @POST("api/user/bindWeixin")
    suspend fun bindWeixin(
        @Query("code") code: String
    ): BaseResultEntity<WithdrawAccountEntity>

    /**
     * 获取省数据
     * */
    @GET("api/area/getProvices")
    suspend fun getProvinceData(): BaseResultEntity<MutableList<AreaDataEntity>>

    /**
     * 获取市数据
     * */
    @GET("api/area/getCityV2")
    suspend fun getCityData(@Query("code") code: Int): BaseResultEntity<MutableList<AreaDataEntity>>

    /**
     * 获取区数据
     * */
    @GET("api/area/getCitysV2")
    suspend fun getRegionData(@Query("code") code: Int): BaseResultEntity<MutableList<AreaDataEntity>>

    /** 店长 - 发布职位（全职 ） */
    @POST("api/shopowner/postJob")
    suspend fun postJob(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长 - 发布职位（兼职 ） */
    @POST("api/shopowner/postJob")
    suspend fun postPartJob(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长 - 视频管理修改视频 */
    @POST("api/customservicenew/videoupdate")
    suspend fun videoupdate(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长 - 发布视频 */
    @POST("api/customservicenew/insertVideo")
    suspend fun insertVideo(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 发布全职 */
    @POST("api/customservicenew/postJob")
    suspend fun postJobNew(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 新增代招企业 ，第一步 */
    @POST("api/shopowner/addPostCompany")
    suspend fun addPostCompany(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 新增代招企业 ，第二步 */
    @POST("api/shopowner/updatePostCompany")
    suspend fun addPostCompanySecond(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 获取代招企业 */
    @POST("api/shopowner/getPostCompany")
    suspend fun getReplaceCompany(): BaseResultEntity<MutableList<ReplaceBusiness>>

    /** 店长端 - 删除代招企业 */
    @POST("api/shopowner/deleteCompany")
    suspend fun deleteReplaceCompany(@Query("companyId") companyId: Int): BaseResultEntity<Any>


    /** 区域端--查询企业列表 mainFlag 1主体企业2区域账号3合作企业 */
    @POST("api/regionApi/getCompanyList")
    suspend fun getCompanyList(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<QyzhBean>>

    /** 区域端--查询企业列表 mainFlag 1主体企业2区域账号3合作企业 */
    @POST("api/customservicenew/getCompanyList")
    suspend fun getCompanyLists(): BaseResultEntity<MutableList<QyzhBean>>

    /** 店长端 - 企业详情 */
    @POST("api/shopowner/getCompanyInformation")
    suspend fun getReplaceBusinessDetail(@Query("id") id: Int): BaseResultEntity<Any>

    /** 店长端 - 新增客服 */
    @POST("api/shopowner/addServices")
    suspend fun addCustomService(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 区域断 - 新增客服 */
    @POST("api/regionApi/addServices")
    suspend fun addRegionCustomService(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 区域 - 客服编辑 */
    @POST("api/regionApi/userUp")
    suspend fun userUp(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 区域端口 修改 */
    @POST("api/regionApi/updatePostRelease")
    suspend fun updatePostRelease(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 实名认证，将图片上传到服务器识别 */
    @GET("api/authentication/getUserCertification2")
    suspend fun updatePicToCertification(
        @Query("positiveImg") positiveImg: String
    ): BaseResultEntity<AuthenticationEntity>

    /** 店长端 - 获取区域客服列表 */
    @POST("api/shopowner/getServicesInfo")
    suspend fun getAreaCustomServiceList(): BaseResultEntity<MutableList<AreaCustomServiceEntity>>

    /** 店长端 - 获取区域客服列表 */
    @POST("api/regionApi/getServicesInfo")
    suspend fun getServicesInfo(@Body requestBody: RequestBody): BaseResultEntity<MutableList<AreaCustomServiceEntity>>

    /** 店长端 - 删除区域客服 */
    @POST("api/shopowner/deleteServices")
    suspend fun deleteAreaCustomService(@Query("serviceId") serviceId: Int): BaseResultEntity<Any>

    /** 店长端 - 控制客服听单和暂停听单接口 serviceId:客服id,status: 1开始听单  2暂停听单  */
    @POST("api/shopowner/controlServices")
    suspend fun shopControlServiceListener(
        @Query("serviceId") serviceId: Int,
        @Query("status") status: String
    ): BaseResultEntity<Any>

    /** 店长端 - 区域客服和区域企业数量 */
    @POST("api/shopowner/getCount")
    suspend fun getServiceAndBusinessNum(): BaseResultEntity<ServiceAndBusinessNum>

    /** 店长端 - 查询区域企业 */
    @POST("api/shopowner/getCompany")
    suspend fun getAreaBusinessList(): BaseResultEntity<MutableList<AreaBusinessEntity>>

    /** 店长端 - 新增区域企业 */
    @POST("api/shopowner/addCompany")
    suspend fun addAreaBusiness(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 新增账号 */
    @POST("/api/regionApi/addCompany")
    suspend fun addAreaBusinesss(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 新增合作企业 */
    @POST("/api/regionApi/addPostCompany")
    suspend fun addPostCompanyNew(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 新增区域企业时的开通区域下拉列表 */
    @POST("api/shopowner/getRegionArea")
    suspend fun getOpenRegion(): BaseResultEntity<OpenRegionEntity>

    /** 店长端 - 获取后台设置的开通年限 */
    @GET("api/authentication/getYearLimit")
    suspend fun getOpenYearLimit(): BaseResultEntity<OpenYearLimit>

    /** 店长端 - 获取区域企业的认证信息 */
    @POST("api/shopowner/getCertificationDetail")
    suspend fun getAreaBusinessCertificationInfo(@Query("id") id: Int): BaseResultEntity<CompanyEntity>

    /** 店长端 - 获取区域企业的详情 */
    @POST("api/shopowner/getAreaCompanyDetail")
    suspend fun getAreaBusinessDetail(@Query("id") id: Int): BaseResultEntity<MutableList<PositionListData>>

    /** 店长端 - 查询举报列表 */
    @GET("api/shopowner/getReport")
    suspend fun getReportList(): BaseResultEntity<MutableList<ReportEntity>>

    /** 店长端 - 查询举报详情 */
    @GET("api/shopowner/getReportDetail")
    suspend fun getReportDetail(@Query("id") id: Int): BaseResultEntity<ReportEntity>

    /** 店长端 - 删除用户举报 */
    @GET("api/shopowner/listAndDelete")
    suspend fun deleteReportList(@Query("id") id: Int): BaseResultEntity<Any>

    /** 店长端 - 举报管理里面的下架和忽略操作按钮 */
    @GET("api/shopowner/dismounteAndDelete")
    suspend fun downOrIgnoreOpera(
        @Query("id") id: Int,
        @Query("reportId") reportId: Int,
        @Query("type") type: Int
    ): BaseResultEntity<Any>

    /** 店长端 - 我的--提报名单下的客服列表和企业列表 */
    @POST("api/shopowner/getSubmitList")
    suspend fun getSubmitSBList(): BaseResultEntity<SubmitServiceAndCompanyEntity>

    /** 店长端 - 我的--提报名单列表查询及条件筛选 */
    @POST("api/shopowner/getSubmitSearch")
    suspend fun getSubmitSearchList(@Body requestBody: RequestBody): BaseResultEntity<SubmitListEntity>

    /** 店长端 - 我的面试名单下的客服列表和企业列表 */
    @POST("api/shopowner/getSubmitList2")
    suspend fun getInterviewSBList(): BaseResultEntity<SubmitServiceAndCompanyEntity>

    /** 店长端 - 面试名单列表查询 */
    @POST("api/shopowner/getInterviewSearch")
    suspend fun getInterviewSearchList(@Body requestBody: RequestBody): BaseResultEntity<SubmitListEntity>

    /** 店长端 - 面试名单列表查询 */
    @POST("api/customservicenew/updateCompanyInfo")
    suspend fun updateCompanyInfos(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 查询我的页面 */
    @POST("api/shopowner/getInfomation")
    suspend fun getMyPageInfo(): BaseResultEntity<UserEntity>

    /** 企服端 - 查询我的页面 */
    @POST("api/enservice/getInfomation")
    suspend fun getQiFuMyInfo(): BaseResultEntity<QiFuMyInfoEntity>

    @POST("/api/customservicenew/getMyCompany")
    suspend fun getMyCompanyService(): BaseResultEntity<QyzhBean>

    @POST("api/regionApi/getMyCompany")
    suspend fun getMyCompany(): BaseResultEntity<QyzhBean>

    @POST("api/regionApi/getCompanyDetails")
    suspend fun getCompanyDetails(@Query("id") id: Int): BaseResultEntity<QyzhBean>

    /** 店长端 - 购买账号时查询单价和余额 */
    @POST("api/shopowner/getUnitPrice")
    suspend fun getBuyAccountUnitPriceAndBalance(): BaseResultEntity<AccountUnitEntity>

    /** 店长端 - 区域客服详情 */
    @POST("api/shopowner/getServiceDetails")
    suspend fun getServiceDetails(
        @Query("serviceId") serviceId: Int,
        @Query("type") type: String
    ): BaseResultEntity<MutableList<PositionListData>>

    /** 店长端 - 查询客服认证信息 */
    @GET("api/shopowner/getCertification")
    suspend fun getServiceCertificationInfo(@Query("serviceId") serviceId: Int): BaseResultEntity<ServiceCertificationEntity>


    /** 区域端口 导出 */
    @POST("api/regionApi/exportZaiZhiZhong")
//    @POST("api/regionApi/exportDaiMianShi")
    suspend fun getExportDaiMianShi(@Body requestBody: RequestBody): BaseResultEntity<MutableList<DMSDaochu>>
//    suspend fun getExportDaiMianShi(@Query("ids") ids: MutableList<Int>): BaseResultEntity<MutableList<DMSDaochu>>

    /** 企服端 导出 */
    @POST("api/regionApi/export")
    suspend fun export(@Body requestBody: RequestBody): BaseResultEntity<MutableList<DMSDaochu>>
//    suspend fun getExportDaiMianShi(@Query("ids") ids: MutableList<Int>): BaseResultEntity<MutableList<DMSDaochu>>

    /** 区域端口   简历详情 */
    @GET("api/regionApi/getPostReleaseDetail")
    suspend fun getPostReleaseDetail(@Query("id") Id: Int): BaseResultEntity<PostReleaseDetail>

    /** 区域端口   简历详情 */
    @GET("api/customservicenew/getPostReleaseDetail")
    suspend fun getCustomPostReleaseDetail(@Query("id") Id: Int): BaseResultEntity<PostReleaseDetail>

    /** 区域端口   关联客服 */
    @POST("api/regionApi/addpc")
    suspend fun addPc(@Body requestBody: RequestBody): BaseResultEntity<PostReleaseDetail>

    /** 区域端口   移除客服 */
    @POST("api/regionApi/removePc")
    suspend fun removePc(@Body requestBody: RequestBody): BaseResultEntity<PostReleaseDetail>

    /** 区域端口   关联客服列表 */
    @POST("api/regionApi/getList")
    suspend fun getList(@Body requestBody: RequestBody): BaseResultEntity<MutableList<RelationEntity>>


    /** 区域  根据职位查询所有的投递过的简历 */
    @GET("api/regionApi/getResmeList")
    suspend fun getResmeList(
        @Query("pageNo") pageNo: Int,
        @Query("postId") postId: Int
    ): BaseResultEntity<PageEntity<ResumeData>>

    /** 区域  获取状态*/
    @GET("api/shopowner/state")
    suspend fun getState(
        @Query("id") pageNo: Int,
        @Query("resumeId") resumeId: Int
//        @Query("companyId") companyId: Int
    ): BaseResultEntity<ResumeData>

    /** 店长端--查询用户简历 userId用户id */
    @POST("api/shopowner/getResume")
    suspend fun getResume(@Query("userId") postId: Int): BaseResultEntity<DetailsInfo>

    /** 店长端--查询用户简历 resumeId */
    @POST("/api/regionApi/getResume")
    suspend fun getResume2(@Query("resumeId") resumeId: Int): BaseResultEntity<DetailsInfo>

    /**api/customservicenew/serviceLook  客服端 记录简历被查看时间 传简历id*/
    @POST("api/customservicenew/serviceLook")
    suspend fun servicelook(@Query("resumeId") resumeId: Int): BaseResultEntity<DetailsInfo>

    /** api/regionApi/getServiceLook  区域端 获取人才处理记录的查看简历记录 传简历id */
    @POST("api/regionApi/getServiceLook")
    suspend fun getServicelook(@Query("resumeId") resumeId: Int): BaseResultEntity<MutableList<ManRecord>>

//    /** api/regionApi/getReport  区域端 提报 传简历id */
//    @POST("api/regionApi/getReport")
//    suspend fun getReportMsg(@Body requestBody: RequestBody): BaseResultEntity<MutableList<ManRecord>>

    /** api/regionApi/getAll  区域端 人才处理记录 */
    @POST("api/regionApi/getAll")
    suspend fun getAll(@Body requestBody: RequestBody): BaseResultEntity<MutableList<ManRecord>>

    /** 店长端 - 区域职位 - 我发布的 */
    @POST("api/shopowner/getAreaList")
    suspend fun getShopAreaPositionList(@Query("pageNo") pageNo: Int): BaseResultEntity<PageEntity<PositionListData>>

    /** 店长端 - 区域职位 - 客服发布 */
    @POST("api/shopowner/getAreaListService")
    suspend fun getAreaListServicePosition(@Query("pageNo") pageNo: Int): BaseResultEntity<PageEntity<ShopServiceReleaseEntity>>

    /** 店长端 - 区域职位 - 企业发布 */
    @POST("api/shopowner/getAreaListCompany")
    suspend fun getAreaListCompanyPosition(@Query("pageNo") pageNo: Int): BaseResultEntity<PageEntity<CompanyEntity>>

    /** 店长端 - 所有职位 */
    @POST("api/regionApi/getAllList")
    suspend fun getShopAllPosition(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<NewHomeListData>>

    /**区域端--职位公海*/
    @POST("api/regionApi/getSea")
    suspend fun getSea(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<NewHomeListData>>

    /**区域端-简历详情-标记状态 */
    @POST("api/regionApi/editMark1")//修改为editMark1 旧editMark
    suspend fun editMark(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**客服端修改备注 */
    @POST("api/customservicenew/addRemarks")
    suspend fun addRemarks(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 精选推荐 */
    @POST("api/shopowner/getSelected")
    suspend fun getShopSelectedPosition(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<PositionListData>>

    /** 区域端 - 首页 - 区域职位 */
    @POST("api/regionApi/getRegionPostReleases")
    suspend fun getRegionPostReleases(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<NewHomeListData>>

    /** 店长端 - 精选推荐 */
    @POST("api/regionApi/getShowPostReleaseList")
    suspend fun getShopSelectedPositionzszw(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<NewHomeListData>>

    /** 店长端 - 精选推荐 */
    @POST("api/regionApi/getSelected")
    suspend fun getSelected(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<NewHomeListData>>

    /** 企服端- 工作台招聘管理 */
    @POST("api/regionApi/getRecruitmentManage")
    suspend fun getRecruitmentManagezwgl(@Body requestBody: RequestBody): BaseResultEntity<MutableList<WorkBenchListItemItem>>

    /** 店长端 - 提报 - 查询提报信息列表 */
    @POST("api/shopowner/getSubmitInfo")
    suspend fun getShopSubmitLists(): BaseResultEntity<MutableList<CompanyEntity>>

    /** 店长端 - 删除提报人员 */
    @POST("api/shopowner/deleteSumbit")
    suspend fun deleteSubmitPeople(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 一键提报 */
    @POST("api/shopowner/addSubmitInfo")
    suspend fun addAKeySubmit(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 已提报列表 */
    @POST("api/shopowner/haveSubmitInfo")
    suspend fun getHaveSubmitList(@Body requestBody: RequestBody): BaseResultEntity<MutableList<ResumeEntity>>

    /** 店长端 - 获取个人信息里面的区域信息 */
    @POST("api/shopowner/myRegionInfo")
    suspend fun getShopAreaInfo(): BaseResultEntity<CompanyEntity>

    /** 店长端 - 获取个人信息里面的区域信息 */
    @POST("api/regionApi/getMyRegion")
    suspend fun getMyRegion(): BaseResultEntity<MyArea>

    /** 店长端 - 职位搜索 */
    @POST("api/shopowner/getSearchWork")
    suspend fun getShopSearchWork(
        @Query("keyWord") keyWord: String,
        @Query("pageNo") pageNo: Int
    ): BaseResultEntity<PageEntity<PositionListData>>

    /** 店长端 - 购买账号 */
    @POST("api/pay/unifiedOrder")
    suspend fun buyAccount(@Body requestBody: RequestBody): BaseResultEntity<WxEntity>

    /** 店长端 - 购买账号 - 余额支付 */
    @POST("api/pay/balancesPay")
    suspend fun buyAccountBalancePay(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 购买账号 - 余额支付 */
    @POST("api/pay/alipay")
    suspend fun buyAccountAliPay(@Body requestBody: RequestBody): BaseResultEntity<String>

    /** 店长端 - 查询置顶次数 和 客服端通用 */
    @GET("api/authentication/getTopCount")
    suspend fun getTopCount(): BaseResultEntity<Int>

    /** 店长端 - 刷新职位 和 客服端通用 */
    @POST("api/shopowner/refreshForEnt")
    suspend fun refreshPosition(@Query("id") id: Int): BaseResultEntity<RefreshEntity>

    /** 判断有没有刷新 */
    @POST("api/enterprise/refreshForEnt")
    suspend fun judgeIsRefresh(@Query("id") id: Int): BaseResultEntity<RefreshEntity>

    /** 查询支付宝账户 */
    @GET("api/authentication/getAliAccountNo")
    suspend fun getAlipayAccount(): BaseResultEntity<AlipayEntity>

    /** 提现 */
    @POST("api/pay/withdrawMoney")
    suspend fun startWithdraw(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 我的，获取银行卡列表 */
    @GET("api/authentication/getBankList2")
    suspend fun getMyBankCardList(): BaseResultEntity<MutableList<UserBankEntity>>

    /** 解绑银行卡 */
    @GET("api/authentication/deleteBank")
    suspend fun deleteBankCard(@Query("id") id: Int): BaseResultEntity<Any>

    /** 添加银行卡 */
    @GET("api/authentication/addBank")
    suspend fun addBankCard(
        @Query("accountNo") accountNo: String,
        @Query("bankId") bankId: Int,
        @Query("bankName") bankName: String,
        @Query("image") image: String,
        @Query("mobile") mobile: String,
        @Query("name") name: String
    ): BaseResultEntity<Any>

    /** 获取所有支持绑定的银行卡列表 */
    @GET("api/authentication/getBankList")
    suspend fun getAllBindCardList(): BaseResultEntity<MutableList<BindBankEntity>>

    /** 添加支付宝账户 */
    @GET("api/authentication/addAliAccountNo")
    suspend fun addAlipayAccount(
        @Query("acount") acount: String,
        @Query("name") name: String,
        @Query("type") type: String
    ): BaseResultEntity<Any>

    /** 钱包-收益明细 */
    @GET("api/authentication/budgetInfo")
    suspend fun getCommonBudgetInfo(): BaseResultEntity<CommonIncomeEntity>

    /** 获取行业列表（兼职和全职） type0全部 1不显示全部区分   mold 1客户端 2全职 3兼职 */
    @GET("api/joblist/getSearchListDetail")
    suspend fun getReleasePosition(
        @Query("type") type: Int,
        @Query("mold") mold: Int
    ): BaseResultEntity<MutableList<WorkPositionEntity>>

    /** 获取学历和工作年限福利待遇等数据 */
    @GET("api/joblist/getSearchCondition")
    suspend fun getEduAndWorkYearList(): BaseResultEntity<EduAndWorkYearEntity>

    /**
     * 兼职时效和结薪方式数据获取
     * */
    @GET("api/joblist/getSearchDate")
    suspend fun getTypeAndTimeDta(): BaseResultEntity<SalaryTypeAndTimeEntity>


    /** 企业端新增打卡二维码 */
    @POST("api/enterprise/addQrCode")
    suspend fun addClockErCode(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 企服端新增打卡二维码 */
    @POST("api/enterprise/addQrCode")
    suspend fun addClockErCodes(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 企业端-获取打卡二维码列表 */
    @POST("api/enterprise/getQrqocdeList")
    suspend fun getQrCodeList(@Query("companyId") id: Int): BaseResultEntity<MutableList<QrCodeEntity>>

    /** 企业端-删除二维码 */
    @POST("api/enterprise/deleteQrqocde")
    suspend fun deleteClockCode(@Query("qrCodeId") qrCodeId: Int): BaseResultEntity<Any>

    /** 企业端-二维码刷新接口 */
    @GET("api/enterprise/getrefershQrcode")
    suspend fun toRefreshQrCode(
        @Query("createTime") createTime: String,
        @Query("id") id: Int
    ): BaseResultEntity<String>

    /** 获取企业端打卡记录 */
    @POST("api/enterprise/getQrqocdeRecord")
    suspend fun getClockRecord(@Body requestBody: RequestBody): BaseResultEntity<MutableList<ClockRecordEntity>>

    /**
     * 企业端 - 查询某个月的打卡记录
     * */
    @POST("api/enterprise/getMonthV2")
    suspend fun lookMonthClockRecord(
        @Query("createTime") createTime: String,
        @Query("id") id: Int
    ): BaseResultEntity<HistoryClockRecordEntity>

    /**
     * 企业端 - 查询当日是否有打卡记录
     * */
    @POST("api/enterprise/getClock")
    suspend fun getCurrentDayClockRecord(@Query("id") id: Int): BaseResultEntity<CurrentClockEntity>

    /**
     * 企业端 - 根据具体日期查询打卡详情
     * */
    @POST("api/enterprise/getClock2")
    suspend fun lookClockDetail(
        @Query("id") id: Int,
        @Query("type") type: String
    ): BaseResultEntity<CurrentClockEntity>


    /** 企业端 - 企业信息完善 */
    @POST("api/enterprise/updateCompanyInformation")
    suspend fun updateCompanyInfo(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 企业端 - 查询企业认证信息 */
    @POST("api/enterprise/getCompanyInformation")
    suspend fun getCompanyCertificationInfo(): BaseResultEntity<CompanyEntity>

    /** 获取企业端 - 规模，领域 ，类型 */
    @POST("api/enterprise/getList")
    suspend fun getBusinessSizeType(
        @Query("mold") mold: Int,
        @Query("type") type: Int
    ): BaseResultEntity<SizeAndTypeEntity>

    /** 上传多图 */
    @Multipart
    @POST("api/upload/uploadImages")
    suspend fun updateManyPic(
        @Part file: MutableList<MultipartBody.Part>?,
        @Part("type") type: Int
    ): BaseResultEntity<Any>

    /** 企业所在领域 */
    @POST("api/enterprise/getListArea")
    suspend fun getBusinessArea(): BaseResultEntity<MutableList<HangyeEntity>>

    /** 企业 - 查询各个状态下的面试简历 */
    @POST("api/enterprise/getStatusListCompany")
    suspend fun getStatusResumeList(
        @Query("type") type: Int,
        @Query("pageNo") pageNo: Int
    ): BaseResultEntity<PageEntity<ResumeEntity>>

    /** 企业 - 我发布的 + 职位搜索 */
    @POST("api/enterprise/getAllPublish")
    suspend fun getBusinessAllPublish(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<PositionListData>>

    /** 客服 工作台 */
    @POST("api/customservicenew/getRecruitmentManage")
    suspend fun getRecruitmentManage(@Body requestBody: RequestBody): BaseResultEntity<MutableList<WorkBenchListItemItem>>

    //获取我发布的职位
    @POST("api/common/getAllPublishList")
    suspend fun getAllPublishList(@Body requestBody: RequestBody): BaseResultEntity<MutableList<PublishEntity>>

    /** 企业端查询 - 待处理简历 */
    @POST("api/enterprise/getPending")
    suspend fun getWaitHandleResume(@Query("postId") postId: Int): BaseResultEntity<HandlerResumeEntity>

    /** 企业端 - 查询企业信息 */
    @POST("api/enterprise/getCompanydetail")
    suspend fun getBusinessInfo(): BaseResultEntity<CompanyEntity>

    /** 企业端 - 发布职位 */
    @POST("api/enterprise/postJob")
    suspend fun businessReleasePosition(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 通用职位操作  type:1上架 2下架 3删除 4修改 5置顶 */
    @POST("api/shopowner/operationList")
    suspend fun operationList(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 新增上架 */
    @GET("api/shopowner/up")
    suspend fun newUp(@Query("id") id: Int): BaseResultEntity<Any>

    /**新增下架 */
    @GET("api/shopowner/down")
//    suspend fun newDown(@Body requestBody: RequestBody): BaseResultEntity<Any>
    suspend fun newDown(@Query("id") id: Int): BaseResultEntity<Any>

    /**  职位详情  */
    @GET("api/joblist/getDetail")
    suspend fun getPositionListDetail(@Query("id") id: Int): BaseResultEntity<PositionListData>

    /** 店长端 - 平台发布的招聘专用详情 */
    @GET("api/shopowner/getAdminDetail")
    suspend fun getShopPositionDetail(@Query("id") id: Int): BaseResultEntity<PositionListData>

    /** 区域端-工作台-获取区域端店长下的企业信息（筛选条件） */
    @GET("api/regionApi/getCompany")
    suspend fun getCompany(): BaseResultEntity<MutableList<WorkCompany>>

    /** 企业端 - 我的推广币收支明细  */
    @POST("api/enterprise/getCoin")
    suspend fun getBusinessCoin(): BaseResultEntity<BusinessCoinEntity>

    /** 企业端 - 邀请列表 */
    @POST("api/enterprise/getInviteList")
    suspend fun getBusinessInviteList(): BaseResultEntity<MutableList<InviteListEntity>>

    /** 企业端 - 置顶 */
    @POST("api/enterprise/setTop")
    suspend fun setPositionTop(
        @Query("postId") postId: Int,
        @Query("days") days: Int
    ): BaseResultEntity<Any>

    /** 企业端 - 删除不合适的简历 */
    @GET("api/enterprise/deleteResume")
    suspend fun deleteNoWishResume(
        @Query("companyId") companyId: Int,
        @Query("postId") postId: Int,
        @Query("resumeId") resumeId: Int
    ): BaseResultEntity<Any>

    /** 企业端 - 简历 - 各个状态下的数量 */
    @POST("api/enterprise/getStatusCount")
    suspend fun getBusinessResumeStatusCount(): BaseResultEntity<MessageNum>

    /** 企业端 - 使用推广币刷新接口，免费刷新的话，推广币传0 */
    @POST("api/enterprise/refreshWithBit")
    suspend fun businessRefreshPost(
        @Query("bitCoin") bitCoin: Int,
        @Query("id") id: Int
    ): BaseResultEntity<Any>

    /**
     * 注销账号
     * */
    @GET("api/authentication/cancellation")
    suspend fun exitAccount(@Query("id") id: Int): BaseResultEntity<Any>

    /**
     * 企业 - 职位置顶 - 获取置顶天数
     * */
    @POST("api/enterprise/getTopDays")
    suspend fun getTopDays(): BaseResultEntity<MutableList<TopDayEntity>>

    /**
     * 获取置顶单价和剩余推广币
     * */
    @POST("api/enterprise/getTopUnit")
    suspend fun getSingleAndRemain(): BaseResultEntity<SingleAndRemainCoin>

    /**
     * 客服端 - 获取所有职位
     * */
    @POST("api/customservice/getAllPublish")
    suspend fun getAllPositions(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<PositionListData>>

    /**
     * 客服端 - 获取我发布的
     * */
    @POST("api/customservice/getMyPublish")
    suspend fun getMyRelease(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<PositionListData>>


    /**
     *
     * 客服端
     */
    /**
     * 客服端 -  区域职位 职位
     * */
    @POST("api/customservicenew/getAreaList")
    suspend fun getAreaList(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<AreaListModel>>

    /**
     * 客服端 -  区域职位 求职者
     * */
    @POST("api/customservicenew/getAreaResmeList")
    suspend fun getAreaResmeList(@Body requestBody: RequestBody): (BaseResultEntity<PageEntity<QZZBean>>)

    /**
     * 客服端 -  区域职位 求职者
     * */
    @POST("api/customservicenew/getMyResmeList")
    suspend fun getMyResmeList(@Body requestBody: RequestBody): (BaseResultEntity<PageEntity<QZZBean>>)
    /**
     *
     * 客服端
     */
    /**
     * 客服端 -  区域职位 职位
     * */
    @POST("api/customservicenew/getMyList")
    suspend fun getMyList(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<AreaListModel>>

    /**
     * 客服端 -  视频列表
     * */
    @POST("api/customservicenew/videoList")
    suspend fun videoList(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<VideoListModel>>

    /**
     * 客服端 -  视频列表新
     * */
    @POST("api/customservicenew/getVideoList1")
    suspend fun videoList1(@Body requestBody: RequestBody): BaseResultEntity<MutableList<VideoBean>>

    /**
     * 客服端 -  视频列表--删除
     * customservicenew/videodelete
     * */
    @POST("api/customservicenew/videodelete")
    suspend fun videodelete(@Query("videoId") videoId: Int): BaseResultEntity<PageEntity<VideoListModel>>

    /**
     * 客服端 -消息--  看过我
     * */
    @POST("api/customservicenew/lookme")
    suspend fun msgLookme(
    ): BaseResultEntity<MutableList<UserEntity>>

    /**
     * 客服端 -消息--  收藏我
     * */
    @POST("api/customservicenew/coolection")
    suspend fun msgCoolection(
    ): BaseResultEntity<MutableList<UserEntity>>


    /**
     * 通用 - 意见反馈
     * */
    @POST("api/customservice/addOptions")
    suspend fun feedBackCommon(@Query("message") message: String): BaseResultEntity<Any>

    /** 客服端 - 获取代招企业 */
    @POST("api/customservice/getPostCompany")
    suspend fun getCustomServiceReplaceCompany(): BaseResultEntity<MutableList<ReplaceBusiness>>

    /** 客服端 - 新增提报 */
    @POST("api/customservice/addPut")
    suspend fun serviceAddSubmit(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 客服端 - 新增提报 */
    @POST("api/customservicenew/addPut")
    suspend fun serviceAddPut(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 客服端 - 新增提报 */
    @POST("api/customservicenew/addPuts")
    suspend fun serviceAddPuts(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 客服端 - 面试 */
    @POST("api/customservicenew/Interviewable")
    suspend fun Interviewable(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 客服端 - 新增提报 - 选择职位列表 */
    @POST("api/customservice/getPostList")
    suspend fun submitSelectPosition(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<PositionListData>>

    /** 客服端 - 职位搜索接口 */
    @POST("api/customservice/getSearchPost")
    suspend fun getServiceSearchPost(
        @Query("keyWord") keyWord: String,
        @Query("pageNo") pageNo: Int
    ): BaseResultEntity<PageEntity<PositionListData>>

    /** 客服端 - 提报名单下的列表接口 */
    @POST("api/customservice/getSubmitList")
    suspend fun getServiceSubmitList(@Body requestBody: RequestBody): BaseResultEntity<SubmitListEntity>

    /** 客服端 - 我的 - 提报下面的所有企业 */
    @POST("api/customservice/getCompanyList")
    suspend fun getServiceCompanyList(): BaseResultEntity<MutableList<ChangQuModel>>

    /** 客服端 - 我的 - 面试下面的所有企业 */
    @POST("api/customservice/getCompanyList2")
    suspend fun getServiceCompanyList2(): BaseResultEntity<MutableList<QyzhBean>>

    /** 客服端修改--查询可以提报面试的企业列表  新*/
    @POST("api/customservicenew/getCompanyList")
    suspend fun getTibaoCompanyList(
        @Body requestBody: RequestBody
    ): BaseResultEntity<PageEntity<ChangQuModel>>

    /** 客服端 - 我的 - 面试列表 */
    @POST("api/customservice/getinterviewList")
    suspend fun getServiceInterviewList(@Body requestBody: RequestBody): BaseResultEntity<SubmitListEntity>

    /** 客服端 - 我的 - 公司信息 */
    @POST("api/customservice/getInformation")
    suspend fun getCompanyInfo(): BaseResultEntity<CompanyEntity>

    /** 客服端 - 各种状态下的面试简历 */
    @POST("api/customservice/getStatusList")
    suspend fun getServiceResumeList(
        @Query("type") type: Int,
        @Query("pageNo") pageNo: Int
    ): BaseResultEntity<PageEntity<ResumeEntity>>

    /** 通用 - 简历意向接口 */
    @POST("api/customservice/getIntention")
    suspend fun commonResumeOpera(
        @Query("attitude") attitude: String,
        @Query("id") id: Int,
        @Query("postId") postId: Int
    ): BaseResultEntity<Any>


    /** 客服端 - 切换状态 */
    @POST("api/customservicenew/udateUserState")
    suspend fun udateUserState(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 客服端 - 删除不合适的简历 */
    @POST("api/customservice/deleteNo")
    suspend fun deleteServiceNoWishResume(
        @Query("companyId") companyId: Int,
        @Query("postId") postId: Int,
        @Query("resumeId") resumeId: Int
    ): BaseResultEntity<Any>

    /** 客服端 - 简历 - 有意向下的提报接口 */
    @POST("api/customservice/addSubmit")
    suspend fun submitServiceResume(
        @Query("companyId") companyId: Int,
        @Query("postId") postId: Int,
        @Query("resumeId") resumeId: Int
    ): BaseResultEntity<Any>

    /** 客服端 - 简历 - 获取更改职位的位置列表 */
    @POST("api/customservice/changePost")
    suspend fun getServiceChangePostList(@Body requestBody: RequestBody): BaseResultEntity<PageEntity<PositionListData>>

    /** 通用- 查询时间轴 */
    @GET("api/authentication/getTiemAxis")
    suspend fun lookResumeTimerShaft(
        @Query("companyId") companyId: Int,
        @Query("postId") postId: Int,
        @Query("resumeId") resumeId: Int
    ): BaseResultEntity<MutableList<TimeAxis>>

    /** 客服端 - 简历 - 有意向下的更改职位列表里的匹配接口 */
    @POST("api/customservice/matchingPost")
    suspend fun resumeMatchingPost(
        @Query("newPostId") newPostId: Int,
        @Query("oldPostId") oldPostId: Int,
        @Query("userId") userId: Int
    ): BaseResultEntity<Any>

    /** 客服端 - 简历 - 各个状态下的数量 */
    @POST("api/customservice/getStatusCount")
    suspend fun getStatusCount(): BaseResultEntity<MessageNum>

    /** 客服端 - 刷新用户信息 */
    @POST("api/authentication/getInfo")
    suspend fun refreshUserInfo(): BaseResultEntity<UserEntity>

    /**
     * 客服端 - 修改用户信息
     * */
    @POST("api/authentication/updateNick")
    suspend fun modifyUserIcon(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 通用（店长和客服） - 判断职位是否刷新过 */
    @GET("api/authentication/judgeRefresh")
    suspend fun judgeCommonRefresh(@Query("postId") postId: Int): BaseResultEntity<Any>

    /**
     * 通用--文本配置
     * */
    @POST("api/joblist/getConfig")
    suspend fun getBaseConfig(): BaseResultEntity<FirstConfigEntity>

    /** 通用，修改手机号码 */
    @GET("api/authentication/updateMobile")
    suspend fun modifyPhoneNumber(
        @Query("authCode") authCode: String,
        @Query("phone") phone: String
    ): BaseResultEntity<Any>

    /** 获取资质 */
    @GET("api/cl/all")
    suspend fun getZiZhi(): BaseResultEntity<MutableList<MyZiZhi>>

    /**
     * 通用 - 获取消息
     * 5-上传招聘
     * 10-系统消息
     * 12-员工入职消息
     * 13-员工离职消息
     * */
    @GET("api/message/getSystemMessage")
    suspend fun getSystemMessage(@Query("type") type: Int): BaseResultEntity<MutableList<SystemMessageEntity>>

    /**
     * 获取系统消息，优米公共的数量--提报-离职、入职、系统
     * */
    @GET("api/message/getCount")
    suspend fun getSystemMessageNum(@Query("type") type: Int): BaseResultEntity<Any>

    /**
     * 获取系统消息，优米公共的数量 --客服
     * */
    @GET("api/message/getCount1")
    suspend fun getSystemMessageNum1(@Query("type") type: Int): BaseResultEntity<Any>

    /**
     * 获取系统消息，优米公共的数量 --消息红点
     * */
    @GET("api/message/getCount2")
    suspend fun getSystemMessageNum2(@Query("type") type: String): BaseResultEntity<Int>

    /**
     * 读取消息
     * */
    @GET("api/message/haveRead")
    suspend fun readMessage(@Query("type") type: Int): BaseResultEntity<Any>


    /**
     * 读取消息
     * */
    @GET("api/message/haveRead1")
    suspend fun readMessage1(@Query("type") type: Int): BaseResultEntity<Any>

    /** 消息 店长端 - 新用户入驻申请 */
    @POST("api/shopowner/getDataDetail")
    suspend fun getNewUserJoinDetail(@Query("appclicationId") appclicationId: Int): BaseResultEntity<ResidenceEntity>

    /** 店长端 - 区域企业详情 - 续费 */
    @POST("api/shopowner/remindCompany")
    suspend fun areaBusinessRemind(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /** 店长端 - 区域企业续费记录 */
    @POST("api/shopowner/getRemindRecord")
    suspend fun getCompanyRemindRecord(@Query("id") id: Int): BaseResultEntity<MutableList<CompanyRemindRecord>>

    /** 店长端 - 设置代招企业失效 */
    @POST("api/shopowner/getUnset")
    suspend fun setReplaceBusinessDisable(@Query("id") id: Int): BaseResultEntity<Any>

    /**
     * 通用 - 根据环信用户名获取昵称和头像
     * */
    @POST("api/authentication/queryInFormationWithNameV")
    suspend fun getHXNickAndHead(@Query("id") name: String): BaseResultEntity<UserEntity>

    /**
     * 上传视频文件
     * by Aaron
     */
    @Multipart
    @POST("api/common/video")
    suspend fun getUpVideo(@Part file: MultipartBody.Part?): BaseResultEntity<String>

    /**
     * 上传视频信息
     * by Aaron
     */
    @POST("api/common/insertVideo")
    suspend fun getInsertVideo(@Body requestBody: RequestBody): BaseResultEntity<VideoEntity>


    /**
     * 充值下单
     * by Aaron
     */
    @POST("/pay/pay/topUp")
    suspend fun placeAnOrder(@Body map: Map<String, String>): BaseResultEntity<String>


    /**
     * 绑定银行卡
     * by Aaron
     */
    @POST("/zshb/bank/card")
    suspend fun bindCard(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 设置支付密码
     * by Aaron
     */
    @POST("/zshb/bank/card/set/password")
    suspend fun setPayPwd(@QueryMap map: Map<String, String>): BaseResultEntity<Any>

    /**
     * 设置支付密码
     * by Aaron
     */
    @POST("/zshb/bank/card/update/password")
    suspend fun updatePayPwd(@QueryMap map: Map<String, String>): BaseResultEntity<Any>

    /**
     * 校验是否设置支付密码
     * by Aaron
     */
    @POST("/zshb/bank/card/check/isPassword")
    suspend fun checkSetPwd(): BaseResultEntity<Boolean>

    /**
     * 校验密码
     * by Aaron
     */
    @POST("/zshb/bank/card/check/password")
    suspend fun checkPwd(
        @Query("password") password: String,
        @Query("companyId") companyId: String
    ): BaseResultEntity<Any>


    /**
     * 解绑银行卡
     * by Aaron
     */
    @DELETE("/zshb/bank/card/{bankCardId}/{password}")
    suspend fun unbindCard(
        @Path("bankCardId") bankCardId: String,
        @Path("password") password: String
    ): BaseResultEntity<Any>

    /**
     * 校验验证码
     * by Aaron
     */
    @GET("/zshb/bank/card/sms/{phonenumber}/{code}")
    suspend fun checkVerificationCode(
        @Path("phonenumber") phonenumber: String,
        @Path("code") code: String
    ): BaseResultEntity<Any>


    /**
     *  获取手机验证码
     */
    @GET("/resource/sms/code/bank")
    suspend fun getVerificationCode(@Query("phonenumber") phonenumber: String): BaseResultEntity<Any>


    /**
     * 当前登录企业印章列表
     */
    @GET("/zshb/contract/seal/list")
    suspend fun contractSealList(): BaseResultEntity<MutableList<SealListEntity>>

    /**
     * 流程成功后回调接口
     */
    @POST("/zshb/flow/callback")
    suspend fun flowCallback(): BaseResultEntity<FlowCallbackEntity>

    /**
     * 合同列表
     */
    @GET("/zshb/contract/page")
    suspend fun contractPage(@QueryMap map: Map<String, String>): BaseResultEntity<PageListEntity<ContractPageEntity>>

    /**
     * 发起解约意向合同流程
     */
    @POST("/zshb/contract/intent/rescind")
    suspend fun contractIntentRescind(@QueryMap map: Map<String, String>): BaseResultEntity<ContractIntentRescindEntity>

    /**
     * 发起集成合同签署流程
     */
    @POST("/zshb/contract/integration/submit")
    suspend fun contractIntegrationSubmit(@QueryMap map: Map<String, String>): BaseResultEntity<ProjectList>


    /**
     *创建点赞记录 社区动态-评论
     */
    @POST("app-api/member/community/comment-liked/create")
    suspend fun commentLiked(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 获取社区列表
     */
    @GET("app-api/member/community/content/getCommunityPage")
    suspend fun getCommunityPage(
        @Query("userId") userId: String,
        @Query("toUserId") toUserId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 获取订阅列表
     */
    @GET("app-api/member/community/content/getSubscriberCommunityPage")
    suspend fun getSubscriberCommunityPage(
        @Query("userId") userId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>


    /**
     * 获取好友动态列表
     */
    @GET("app-api/member/community/content/getFriendShipsCommunityPage")
    suspend fun getFriendShipsCommunityPage(
        @Query("userId") userId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 获得当前登录用户分组列表
     */
    @GET("app-api/member/groups/getMyGroupList")
    suspend fun getMyGroupList(): BaseResultEntity<MutableList<GroupEntity>>

    /**
     * 获得圈子列表
     */
    @GET("app-api/member/community/circle/page")
    suspend fun getCircleTypeList(): BaseResultEntity<MutableList<GroupEntity>>


    /**
     * 实名认证相关
     */
    @GET("app-api/member/name-authentication/get")
    suspend fun getAuthentication(@Query("userId") userId: String): BaseResultEntity<AuthenticationBean>


    /** 上传单图 */
    @Multipart
    @POST("app-api/infra/file/upload")
    suspend fun updateSinglePic(@Part file: MultipartBody.Part?): BaseResultEntity<String>


    /**
     * 用户被订阅or订阅分页
     */
    @GET("app-api/member/community/follower/saveFollowerPage")
    suspend fun getSaveFollowerPage(
        @Query("type") type: Int,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 谁看过我获得浏览用户历史分页
     */
    @GET("app-api/member/community/browsing-history/selectUserBrowsingHistoryPage")
    suspend fun getUserBrowsingHistoryPage(
        @Query("type") type: Int,
        @Query("queryType") queryType: Int,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 获得当前用户被点赞列表分页
     */
    @POST("app-api/member/community/comment-liked/selectCurrentLikedPage")
    suspend fun selectCurrentLikedPage(@Body requestBody: RequestBody): BaseResultEntity<BaseResultListBean>

    /**
     * 获得点赞记录 社区动态-评论
     */
    @GET("app-api/member/community/comment-liked/get")
    suspend fun getLikedPage(@Query("id") id: Int): BaseResultEntity<BaseResultListBean>

    /**
     * 我被评论列表
     */
    @GET("app-api/member/community/comment/myCommentPage")
    suspend fun myCommentPage(
        /* @Query("type") type: Int,*/
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 创建用户社区订阅
     */
    @POST("app-api/member/community/follower/create")
    suspend fun createFollower(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 根据toUserID获得用户社区分页
     */
    @GET("app-api/member/community/content/getToUserCommunityContentPage")
    suspend fun getselectSelfByPage(
        @Query("userId") userId: String,
        @Query("toUserId") toUserId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 获得个人社区动态
     */
    @GET("app-api/member/community/content/selectByPage")
    suspend fun getselectByPage(
        @Query("userId") userId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 获得个人草稿箱社区动态
     */
    @GET("app-api/member/community/content/selectByDraftPage")
    suspend fun getDraftPage(
        @Query("userId") userId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultListBean>

    /**
     * 获得草稿箱详情
     */
    @GET("app-api/member/community/content/getDraftContent")
    suspend fun getDraftContent(
        @Query("id") id: String
    ): BaseResultEntity<CommunityContent>

    /**
     * 草稿编辑
     */
    @POST("app-api/member/community/content/draftEditing")
    suspend fun draftEditing(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 草稿编辑
     */
    @PUT("app-api/member/community/content/draftToPublish")
    suspend fun draftToPublish(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * App更新可见范围
     */
    @PUT("app-api/member/community/content/appUpdateContent")
    suspend fun appUpdateContent(@Body requestBody: RequestBody): BaseResultEntity<Any>


    /**
     * 是否置顶
     */
    @PUT("app-api/member/community/content/topped")
    suspend fun topped(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 删除社区动态
     */
    @DELETE("app-api/member/community/content/delete")
    suspend fun deleteCommunity(@Query("id") id: String): BaseResultEntity<Any>

    /**
     * 获得被用户点赞、评论、订阅等未读数量
     */
    @GET("app-api/member/user/getNoReadCount")
    suspend fun getNoReadCount(): BaseResultEntity<UnReadBean>

    /**
     * 创建社区投诉
     */
    @POST("app-api/member/community/report/create")
    suspend fun createReportCommunity(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     * 创建社区投诉
     */
    @GET("app-api/member/appVersion/getAppVersions")
    suspend fun getAppVersions(
        @Query("userId") userId: String,
        @Query("platform") platform: String,
        @Query("manufacturer") manufacturer: String
    ): BaseResultEntity<UpdateBean>

    /**
     * 注销
     */
    @POST("app-api/member/auth/cancels")
    suspend fun getLogoff(): BaseResultEntity<Any>

    /**
     * 修改用户手机
     */
    @PUT("app-api/member/user/update-mobile")
    suspend fun updateMobile(
        @Body requestBody: RequestBody
    ): BaseResultEntity<Any>


    //--------------------藏宝-----------

    /**
     * 获得寻宝活动
     */
    @GET("app-api/member/treasure/hunt/getAppHunt")
    suspend fun getAppHunt(): BaseResultEntity<HuntBean>

    /**
     * 兑换排行榜以及个人兑换金额-当前用户排名
     */
    @GET("app-api/member/activity/user-progress/getExchangeRanking")
    suspend fun getExchangeRanking(
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultRankListBean>

    /**
     * 获得用户地图进度
     */
    @GET("app-api/member/activity/user-progress/get")
    suspend fun getMapProgress(
        @Query("clueId") clueId: Int
    ): BaseResultEntity<MapProgressBean>

    /**
     * 获得寻宝活动地点
     */
    @GET("app-api/member/treasure/location/getHuntLocation")
    suspend fun getHuntLocation(
        @Query("ids") ids: Array<Int>
    ): BaseResultEntity<MutableList<MapMarkersBean>>

    /**
     * 获得寻宝活动线索列表-用户关联
     */
    @GET("app-api/member/treasure/clue-user/list")
    suspend fun getClueList(
        @Query("locationId") locationId: String
    ): BaseResultEntity<ClueBean>


    /**
     * 获得是否寻宝签到
     */
    @GET("app-api/member/treasure/check-in/getUserCheckIn")
    suspend fun getUserCheckIn(
        @Query("locationId") locationId: String
    ): BaseResultEntity<Int>

    /**
     * 签到
     * /app-api/member/treasure/check-in/create
     */
    @POST("app-api/member/treasure/check-in/create")
    suspend fun createSign(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     *邀请列表
     */
    @GET("app-api/member/user/currentUserInviteCodePage")
    suspend fun currentUserInviteCodePage(
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultInviteListBean>

    /**
     *询是否有未读邀请或分享线索
     */
    @GET("app-api/member/treasure/clue-user/getClueUserCount")
    suspend fun getClueUserCount(
        @Query("locationId") locationId: String
    ): BaseResultEntity<InviteExchangeBean>

    /**
     *创建用户兑换线索
     */
    @POST("app-api/member/treasure/user-submission/create")
    suspend fun createExchange(@Body requestBody: RequestBody): BaseResultEntity<Any>


    /**
     *创建用户打卡记录
     */
    @POST("app-api/member/activity/checkin-records/create")
    suspend fun createDakaRecords(@Body requestBody: RequestBody): BaseResultEntity<Any>

    /**
     *兑换记录
     */
    @GET("app-api/member/activity/user-progress/getExchangeRecords")
    suspend fun getExchangeRecords(
        @Query("completionStatus") completionStatus: Int,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultJoinRecordListBean>

    /**
     *兑换记录
     */
    @GET("app-api/member/activity/user-progress/getExchangeRecords")
    suspend fun getExchangeRecords2(
        @Query("completionStatus") completionStatus: Int,
        @Query("clueId") clueId: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultJoinRecordListBean>

    /**
     *寻宝期数
     */
    @GET("app-api/member/treasure/hunt/list")
    suspend fun getHuntTimeList(): BaseResultEntity<MutableList<HuntBean>>

    /**
     *删除用户地图进度
     */
    @DELETE("app-api/member/activity/user-progress/delete")
    suspend fun getDeleteMapProgress(@Query("id") id: String): BaseResultEntity<Any>

    /**
     *创建藏宝订单
     */
    @POST("app-api/member/treasure/order/create")
    suspend fun createOrder(@Body requestBody: RequestBody): BaseResultEntity<PayOrderBean>


    /**
     *删除藏宝订单
     */
    @DELETE("app-api/member/treasure/order/delete")
    suspend fun deleteTreasureOrder(@Query("id") id: String): BaseResultEntity<Any>

    /**
     *我的订单列表
     */
    @GET("app-api/member/treasure/order/pageByUser")
    suspend fun getOrderList(
        @Query("payStatus") payStatus: String,
        @Query("pageNo") pageNo: Int,
        @Query("pageSize") pageSize: Int
    ): BaseResultEntity<BaseResultOrderListBean>

    /**
     *获得藏宝订单
     */
    @GET("app-api/member/treasure/order/get")
    suspend fun getOrderDetail(
        @Query("id") id: String
    ): BaseResultEntity<OrderListBean>

    /**
     *获得地图进度状态
     */
    @GET("app-api/member/activity/user-progress/getPayNum")
    suspend fun getPayNum(
        @Query("id") id: String
    ): BaseResultEntity<ProgressBean>

    /**
     *更新用户地图进度
     */
    @PUT("app-api/member/activity/user-progress/update")
    suspend fun updateProgress(
        @Body requestBody: RequestBody
    ): BaseResultEntity<Any>


    //---------------三方登录---------------

    /**
     *三方登录
     */
    @POST("app-api/member/auth/social/app/login")
    suspend fun loginThird(
        @Body requestBody: RequestBody
    ): BaseResultEntity<LoginResult>

    /**
     *三方认证修改手机号
     */
    @POST("app-api/member/auth/social/app/update-moblie")
    suspend fun thirdBindMob(
        @Body requestBody: RequestBody
    ): BaseResultEntity<LoginResult>

   /**
     *pc登录
     */
    @POST("app-api/member/auth/social/app/qrCodeLogin")
    suspend fun qrCodeLogin(
        @Body requestBody: RequestBody
    ): BaseResultEntity<LoginResult>


    //---------------VIP---------------

    /**
     *获得vip商品
     */
    @GET("app-api/member/find/product-info/getProductInfo")
    suspend fun getProductInfo(
        @Query("vipLevel") vipLevel: Int //1.普通vip 2.谁喜欢我 3.SVIP
    ): BaseResultEntity<ProductInfoBean>


    /**
     *获得用户支付流水分页
     */
    @GET("app-api/member/pay-logs/myPage")
    suspend fun getMyPayList(
        @Query("pageNo") pageNo: Int ,
        @Query("pageSize") pageSize: Int ,
        /*@Query("busType") busType: Int ,//1 藏宝 2 订单
        @Query("type") type: Int ,// 1 支出 2收入*/
    ): BaseResultEntity<BaseResultPayListBean>

    /**
     * 获取所有好友信息
     *
     * @return
     */
    @GET(SealTalkUrl.GET_FRIEND_ALL)
    suspend fun getAllFriendList(): BaseResultEntity<MutableList<FriendShipInfo>>

}